/*********************************************************************
	\file :           os_sw_layers\bios\services\scheduler\SchM.h
	\brief:           Periodic tasks.
	\author:          Manuel Sandoval
	\version:         1.0
	\date:            Sat, 01, March 2014
*********************************************************************/

#ifndef SchM_H
#define SchM_H


/******************************* Includes**********************************/

#include "typedef_OS.h"
#include "configuration.h"
#include "Os_TaskCfg.h"


/** S12X derivative information */
#include __MCU_DERIVATIVE





/******************************* Defines **********************************/


/******************************* Enumerations******************************/


/******************************* Structures *******************************/


/******************************* Global Variables **********************************/


/******************************* Functions ********************************/




/***************************************************************************
*
*   FUNCTION NAME: SchM_Init
*
***************************************************************************/
/**
* @brief Scheduler Initialization.
*
* This function allows the application to Initialize the Scheduler.
*
* @param[in].
*
* @return .
*
* @par Notification:
* None.
*
***************************************************************************/
void SchM_Init( Os_TaskDescriptorType *SchM_Config);



/***************************************************************************
*
*   FUNCTION NAME: SchM_DeInit
*
***************************************************************************/
/**
* @brief Scheduler De-Initialization.
*
* This function allows the application to De-Initialize the Scheduler.
*
* @param[in].
*
* @return .
*
* @par Notification:
* None.
*
***************************************************************************/
void SchM_DeInit(void);


/***************************************************************************
*
*   FUNCTION NAME: SchM_Start
*
***************************************************************************/
/**
* @brief Scheduler start function.
*
*
* @param[in].
*
* @return .
*
* @par Notification:
* None.
*
***************************************************************************/
/** Scheduler start function */
void SchM_Start( void  );



/***************************************************************************
*
*   FUNCTION NAME: SchM_OsTick
*
***************************************************************************/
/**
* @brief OS tick callback function.
*
* @param[in].
*
* @return .
*
* @par Notification:
* None.
*
***************************************************************************/

/** OS tick callback function - */
void SchM_OsTick( void  );


/***************************************************************************
*
*   FUNCTION NAME: SchM_Background
*
***************************************************************************/
/**
* @brief Backgroud Task.
*
* @param[in].
*
* @return .
*
* @par Notification:
* None.
*
***************************************************************************/

/** Backgroud Task - */
void SchM_Background( void  );


/***************************************************************************
*
*   FUNCTION NAME: SchM_Dispatcher
*
***************************************************************************/
/**
* @brief Dispacher Task.
*
* @param[in].
*
* @return .
*
* @par Notification:
* None.
*
***************************************************************************/
/*!< Dispatcher Prototype. */
void SchM_Dispatcher( void);


/** @} *//* End of Scheduler Group */

#endif /* SchM_H */

/*********************************************************************
	File	: os_sw_layers\bios\services\scheduler\SchM.h
*********************************************************************/
